1. Field of the Invention
The present invention relates to a terminal and a process for self-diagnosis or supervision and the portable object of the microcircuit card or so called xe2x80x9csmart cardxe2x80x9d type used in a process or terminal or reader of this type. Such portable objects comprise a central processor, a program memory containing an executable code constituting the operating system, a non-volatile and programmable data memory, and one or more communication interfaces. The terminal is a device equipped with an interface compatible with the portable object; and include a central processor and software that is capable of communicating and operating on the data issuing from the non-volatile data of the portable object.
2. Description of Related Art
In general, terminals adapted to cooperate with microcircuit cares, i.e. smart cards are equipped with specific software corresponding to their utilization, for example portable payment terminals are equipped with an operating program of the banking type. This software is produced or specified by the institution that manages this application; in the example cited, this is a banking institution. The institution that manages the application is generally not the manufacturer of the terminal; but purchases or orders the manufacture of the hardware part, that is the terminal, and it installs the specific program into it in order to configure its terminal for its own application. The banking institution thereby has the advantage of purchasing a standard, and therefore inexpensive, product and adapting it according to its needs. The manufacturer offers a basic model which can be suited to a plurality of applications, which enables it to expand its market.
An institution running a given application may wish to use a plurality of card reader terminal models. Because it is not desirable to develop application software for each of the terminals manufacturers generally implement a basic software layer that ensures the interface between the hardware and the application software. This software layer enables the same application software to be adapted to different terminals. One way to do this is to create an interpreter so that the institution can develop its application in a well-known high-level language, nearly independent of the constraints of the hardware. Another way to do this is to set up a low-level software layer that manages all the hardware input-outputs and to make available to the operating institution a library of primitives that the application software will call.
In all cases, it must be possible to validate or to test the terminal in its entirety. The validation or testing of the terminal must take into account both parts: the hardware with its basic software and the application software. A self-test makes it possible to verify each device of the terminal. The self test is generally constituted by a routine implemented in the basic software. The testing of the application software must be done in the laboratory. Accordingly, it is important in this type of application to properly verify the operation of the program before it is placed in service. However, due to the multiplicity of cards available for use a very large number of specific cases are not reproducible in the laboratory.
The object of the subject invention is to validate or test, under normal usage conditions, the operation of application software.
To this end, the invention relates to a terminal equipped with an application program, with at least one output constituted either by a display, or by a printer, or by a communication network, or by a portable object, and cooperating with a portable object equipped with a non-volatile memory area containing data, and comprising a reader which communicates with this portable object, characterized in that the device comprises means for reading or storing in its memory diagnostic or supervisory data and means for sending these data to outputs specified as a function of information supplied by the self-diagnostic or supervisory data following the execution of at least one task of its application program in connection with the portable object.
According to another of the subject invention, the means for sending the self-diagnostic data are activated a certain number of times.
According to another of the subject invention, the means for sending the self-diagnostic or supervisory data comprise means for writing in the portable object connected to the device.
According to another of the subject invention, the self-diagnostic or supervisory data are constituted by at least one triplet of information corresponding, for a first piece of information, to a predetermined task of the application program, for the second piece of information to a data type correlated to the task executed and to be presented to an output, and for the third piece of information to a value for specifying the output to which the data type must be presented among those present in the terminal.
According to another of the subject invention, the device has a means for testing for the presence of self-diagnostic or supervisory data in a portable object and for initiating the reading and the storage of these data in a specific area ZTD of the memory of the terminal.
According to another of the subject invention, the terminal comprises means for entering self-diagnostic or supervisory data into a portable object.
Another object of the present invention is to provide a process for supervising the operation of a terminal or for the self-diagnosis of a terminal.
This object is achieved due to the fact that the self diagnostic or supervisory process, from at least one triplet of information corresponding, for a first piece of stored information, to a predetermined task of an application program executed either by a portable object or by a terminal, for the second piece of information to a data type correlated to the task executed and to be presented to an output, and for the third piece of information to a value for specifying the output among those present in the terminal, is characterized in that it is comprised of:
executing a task of the application program in the terminal;
testing an indicator either in the terminal or in the portable object to determine whether a self-diagnostic or supervisory function is operational, then in the case of a positive response;
searching in the memory of either the portable object or the terminal to see if among the triplets of information stored there is a triplet wherein the first piece of information corresponds to the predetermined task executed by the terminal or the card;
sending to-the output specified by the triplet thus read the value of the datum correlated to the task executed and to be labeled by the second piece of information in the triplet.
According to another of the subject invention, the process comprises a testing step comprised of determining whether there are other tasks to be executed, and following the execution of these tasks, searching for all of the triplets of information corresponding to the execution of this task.
According to another of the subject invention, the process comprises a step for reading from a portable object storing in its nonvolatile memory a plurality of triplets and a step for storing these triplets in a non-volatile memory area of the terminal, followed by a step for activating an indicator of an active self-diagnostic or supervisory function.
According to another of the subject invention, the process comprises a testing step for determining whether the portable object is a card specific to the self-diagnostic or supervisory function or a so-called general-purpose card.
According to another characteristic the self-diagnostic or supervisory data are constituted by a fourth field of information containing in the portable object initially the write address (Adr-V), the number of octets to be written (Nb-V), and after the self-diagnosis operation, the value to be written (Val).
Another object of the present invention is to provide a portable object that can be used with a terminal and the self-diagnostic or supervisory process as described herein.
This object is achieved due to the fact that the portable object is a microprocessor card operating by means of an operating system stored in the card and comprising a non-volatile memory containing at least one triplet of information in a predetermined area of this non-volatile memory whose location is defined by address fields located in the memory part used to store the operating system.
According to another of the subject invention, the part of nonvolatile memory used to store the operating system also comprises, in a memory field, a piece of information constituting a counter of utilizations of the self-diagnostic function.
According to another of the subject invention, the memory area storing the operating system comprises a field which makes it possible to store an indicator of the activation of the self-diagnostic or supervisory function.